package com.googlecode.smartbinding.framework.converter;

/**
 * @author Iulian Dumitru
 */
public interface IConverter<S, T> {

    /**
     * Convert from source S to target T.
     *
     * @param source source
     * @return source converted to target
     */
    T convert(S source);

    /**
     * Get the target class.
     *
     * @return the target class
     */
    Class<T> getTargetClass();


    /**
     * Get the source class.
     *
     * @return the source class
     */
    Class<S> getSourceClass();

}
